#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//typedef struct ListNode
//{
//    int val;
//    struct ListNode* next;
//}ListNode;
//
//typedef struct ListNode ListNode;
//struct ListNode* removeElements(struct ListNode* head, int val)
//{
//    ListNode* newnode, * pcur, * newtail;
//    pcur = head, newtail = newnode = NULL;
//    if (head == NULL)
//    {
//        return head;
//    }
//    while (pcur)
//    {
//        if (pcur->val != val)
//        {
//            if (newnode == NULL)
//                newtail = newnode = pcur;
//            else
//            {
//                newnode->next = pcur;
//                newnode = newnode->next;
//            }
//        }
//        pcur = pcur->next;
//    }
//    if (newnode)
//        newnode->next = NULL;
//    return newtail;
//}
//
//typedef struct ListNode ListNode;
//struct ListNode* reverseList(struct ListNode* head)
//{
//    if (head == NULL)
//    {
//        return head;
//    }
//    ListNode* pcur, * prev, * newnode;
//    prev = NULL, pcur = newnode = head;
//    while (pcur)
//    {
//        newnode = newnode->next;
//        pcur->next = prev;
//        prev = pcur;
//        pcur = newnode;
//    }
//    return prev;
//}


//int main()
//{
//	int arr[10] = { 0 };
//	printf("%zd", sizeof(arr));
//	return 0;
//}


//int main()
//{
//	int arr[10] = { 0 };
//	printf("%zd", sizeof(arr) / sizeof(arr[0]));
//	return 0;
//}

//int main()
//{
//	int arr[2][3] = { 0 };
//	for (int i = 0; i < 2; i++)
//	{
//		for (int j = 0; j < 3; j++)
//		{
//			scanf("%d", &arr[i][j]);
//		}
//	}
//	for (int i = 0; i < 2; i++)
//	{
//		for (int j = 0; j < 3; j++)
//		{
//			printf("%d ", arr[i][j]);
//		}
//	}
//	return 0;
//}


//int main()
//{
//	int arr[2][3] = { 0 };
//	for (int i = 0; i < 2; i++)
//	{
//		for (int j = 0; j < 3; j++)
//		{
//			printf("&arr[%d][%d]=%p\n", i, j, &arr[i][j]);
//		}
//	}
//	return 0;
//}


